In order to find hardware and/or software problems it is known to run “testcases” on one or both of the following: (i) a software model version of a processor (also called pre-silicon); and/or (ii) a hardware version of the processor (also called “post-silicon”).
Architectural localization is the first step in debugging a post-silicon fail. Architectural localization is aimed at locating the instructions in a testcase where incorrect DUT (design under test) behavior has propagated to the architectural level. Data is gathered in the architectural localization phase, such as the identity of the suspicious instructions, the location of these instructions in memory, and the operands they access, etc. Based on the gathered data, the DUT's hardware debug logic can then be configured to trace specific signals facilitating the “root-causing” of the incorrect behavior (also referred to as a “bug”).